arm: imx: hab: Implement hab_rvt_failsafe
authorBryan O'Donoghue <[email protected]>
Fri, 12 Jan 2018 12:40:18 +0000 (12:40 +0000)
committerStefano Babic <[email protected]>
Sun, 14 Jan 2018 16:26:30 +0000 (17:26 +0100)
This patch implements the basic callback hooks for
hab_rvt_check_failsafe for BootROM code using the older BootROM address
layout - in my test case the i.MX7. Code based on new BootROM callbacks
will just do nothing and there's definitely a TODO to implement that extra
functionality on the alternative BootROM API.

Signed-off-by: Bryan O'Donoghue <[email protected]>
Cc: Stefano Babic <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Peng Fan <[email protected]>
Cc: Albert Aribaud <[email protected]>
Cc: Sven Ebenfeld <[email protected]>
Cc: George McCollister <[email protected]>
Cc: Breno Matheus Lima <[email protected]>
Tested-by: Breno Lima <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
arch/arm/mach-imx/hab.c

index d1c5f696815cdbb519b1a40c0d95cf0c263d428f..1236717b3ecafc4e232ae91fb517557246274234 100644 (file)
        ((hab_rvt_exit_t *)HAB_RVT_EXIT)                        \
 )
 
+static inline void hab_rvt_failsafe_new(void)
+{
+}
+
+#define hab_rvt_failsafe_p                             \
+(                                                      \
+       (is_mx6dqp()) ?                                 \
+       ((hab_rvt_failsafe_t *)hab_rvt_failsafe_new) :  \
+       (is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ?   \
+       ((hab_rvt_failsafe_t *)hab_rvt_failsafe_new) :  \
+       (is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ?  \
+       ((hab_rvt_failsafe_t *)hab_rvt_failsafe_new) :  \
+       ((hab_rvt_failsafe_t *)HAB_RVT_FAILSAFE)        \
+)
+
 static inline enum hab_status hab_rvt_check_target_new(enum hab_target target,
                                                       const void *start,
                                                       size_t bytes)